The invention relates to distributed component system enhancement.
The explosive growth of the Internet, the increasing popularity of personal computers, and the advances in high-speed network access have brought distributed computing into the main stream. To simplify network programming and to realize component-based software architecture, a distributed computing system called a distributed component object model (DCOM) has been introduced. However, current remote activation mechanisms afforded by the DCOM are inadequate in servicing machine-independent requests. Although a mechanism is available within the confines of a single machine to request an identity independent implementation of some interface, such as in component categories, no integral facility exists for querying the network as a whole for any available host capable of servicing a request independent of host identity.
Since DCOM activation requests depend on the client failures become evident to the client only after the activation request has been committed to the server by the client, at which time it may be too late for the client to mitigate the problem. There is often no mechanism available for the client to dynamically attempt connections with other anonymous and viable nodes in response to a failure of the currently used server because of the static nature of a DCOM based distributed system. At best, a response to the server failure often requires informing application users based on the network configuration, and at worst, it may require a complete recompilation of source code.